import type { RouteRecordRaw } from "vue-router";
/**
 * 路由meta对象参数说明
 * meta: {
 *      title:          菜单栏及 tagsView 栏、菜单搜索名称（国际化）
 *      hidden：        是否隐藏此路由
 *      icon：          菜单、tagsView 图标，阿里：加 `iconfont xxx`，fontawesome：加 `fa xxx`
 * }
 */

/**
 * 静态路由（默认路由）
 */
export const staticRoutes: Array<RouteRecordRaw> = [
  // 登录
  {
    path: "/login",
    name: "Login",
    component: () => import("@/views/login/index.vue"),
    meta: {
      hidden: true,
    },
  },

  // 404页面
  {
    path: "/404",
    name: "404",
    component: () => import("@/views/error/404.vue"),
    meta: {
      hidden: true,
    },
  },

  // 首页
  {
    path: "/",
    component: () => import("@/layout/index.vue"),
    redirect: "/home",
    children: [
      // 首页
      {
        path: "home",
        name: "Home",
        component: () => import("@/views/home/index.vue"),
        meta: {
          title: "首页",
          icon: "ele-HomeFilled",
        },
      },
    ],
  },
];

/**
 * 定义动态路由
 */
export const allAsyncRoutes: Array<RouteRecordRaw> = [
  // 权限管理的路由
  {
    name: "Acl",
    path: "/acl",
    component: () => import("@/layout/index.vue"),
    redirect: "/acl/user/list",
    meta: { title: "权限管理", icon: "ele-Setting" },
    children: [
      {
        name: "User",
        path: "/acl/user/list",
        component: () => import("@/views/acl/user/index.vue"),
        meta: { title: "用户管理" },
      },
      {
        name: "Role",
        path: "/acl/role/list",
        component: () => import("@/views/acl/role/index.vue"),
        meta: {
          title: "角色管理",
        },
      },
      {
        name: "RoleAuth",
        path: "/acl/role/auth",
        component: () => import("@/views/acl/role/roleAuth.vue"),
        meta: {
          title: "角色管理",
          hidden: true,
          activeMenu: "/acl/role/list",
        },
      },
      {
        name: "Permission",
        path: "/acl/permission/list",
        component: () => import("@/views/acl/permission/index.vue"),
        meta: {
          title: "菜单管理",
        },
      },
    ],
  },
  // 商品管理
  {
    path: "/product",
    name: "Product",
    component: () => import("@/layout/index.vue"),
    redirect: "/product/trademark",
    meta: {
      title: "商品管理",
      icon: "ele-Goods",
    },
    children: [
      // 品牌属性
      {
        path: "trademark",
        name: "Trademark",
        component: () => import("@/views/Product/Trademark/index.vue"),
        meta: {
          title: "品牌属性",
          icon: "ele-Eleme",
        },
      },
      // 平台属性管理
      {
        path: "attr",
        name: "Attr",
        component: () => import("@/views/Product/Attr/index.vue"),
        meta: {
          title: "平台属性管理",
          icon: "ele-BrushFilled",
        },
      },
      // SPU管理
      {
        path: "spu",
        name: "Spu",
        component: () => import("@/views/Product/Spu/index.vue"),
        meta: {
          title: "Spu管理",
          icon: "ele-Opportunity",
        },
      },
      // SKU管理
      {
        path: "sku",
        name: "Sku",
        component: () => import("@/views/Product/Sku/index.vue"),
        meta: {
          title: "Sku管理",
          icon: "ele-Headset",
        },
      },
    ],
  },
];

// 定义任意路由
export const anyRoute = {
  /* 匹配任意的路由 必须最后注册 */
  path: "/:pathMatch(.*)",
  name: "Any",
  redirect: "/404",
  meta: {
    hidden: true,
  },
};
